package au.com.acpfg.misc.spectra; import javax.swing.Icon; import org.knime.core.data.DataValue; public interface SpectralDataInterface extends DataValue { /** Derived locally. */ public static final UtilityFactory UTILITY = new SpectraUtilityFactory(); /** The interface methods. */ AbstractSpectraCell getMyValue(); /* return a human-readable form of the spectra */ String asString(boolean round_mz); String asString(); // this method returns a summary: required to be fast AND memory efficient /* return the ID (should be unique for all spectra in a given table) */ String getID(); /* return the list of m/z's with a peak (any size >0) */ double[] getMZ(); /* return the list of intensities - always same length as getMZ() */ double[] getIntensity(); /* how many peaks in the spectra? */ int getNumPeaks(); /* what level of scan eg. 2 == MS/MS */ int getMSLevel(); /* return the minimum mz cited in the spectra (constant time method) */ double getMinMZ(); /* return the maximum mz cited in the spectra (constant time method) */ double getMaxMZ(); /* return the most intense MZ (results are unpredictable if more than one MZ has maximum intensity) */ double getMZMostIntense(); double getIntensityMostIntense(); // returns the intensity of the most intense peak rather than M/Z /* return the least intense MZ (results are unpredictable if more than one MZ has minimum intensity) */ double getMZLeastIntense(); double getIntensityLeastIntense(); }